//import 'package:rebase_project/src/base/net/NetHelp.dart';
//
//import 'Dazzle.dart';
//
//typedef RepackageCallback = Future<List<dynamic>> Function(
//    int, Map<String, dynamic>);
//
//class ListViewUtil {
//  var _page = 1;
//  String _path;
//  var list=<dynamic>[];
//  Map<String, dynamic> _req = {};
//
//  _network() async {
//    return await NetHelp.dio.post(_path, _req);
//  }
//
//  init(String path, Map<String, dynamic> reqMap,) {
//    _req.clear();
//    _req.addAll(reqMap);
//    _req["page"] = _page;
//    list.clear();
//    this._path = path;
//  }
//
//  Future<List<dynamic>> moreData(RepackageCallback call,
//      {NoData noData = const NoData(img: "", hint: "暂无数据")}) async {
//    _page++;
//    _req["page"] = _page;
//    return _repackage(await _network(), call, noData);
//  }
//
//  Future<List<dynamic>> refresh(RepackageCallback call,
//      {NoData noData = const NoData(img: "", hint: "暂无数据"),
//      Map<String, dynamic> reqMap = const {}}) async {
//    _page = 1;
//    _req["page"] = _page;
//    list.clear();
//    return _repackage(await _network(), call, noData);
//  }
//
//  Future<List<dynamic>> _repackage(
//      Map<String, dynamic> map, RepackageCallback call, NoData noData) async {
//    list.addAll(await call(_page, map));
//    list.removeWhere((it) {
//      return it is MoreData;
//    });
//    if (map.containsKey("page") && map.containsKey("all_page")) {
//      if (map["page"] == 1 && list.isEmpty) {
//        list.add(noData);
//      } else {
//        if (map["page"] < map["all_page"]) {
//          list.add(MoreData(() {
//            moreData(call,noData: noData);
//          }));
//        } else {
//          list.add(NoMoreData());
//        }
//      }
//    }
//    return list;
//  }
//}
